package javaCode.chapter12.wrapper;

/**
 * @author 徐州城
 * @version 1.0
 * Integer面试题
 */
public class WrapperExercise02 {
    public static void main(String[] args) {

        Integer i = new Integer(1); //new 一个对象 返回的是一个对象
        Integer j = new Integer(1); //返回的是一个对象
        System.out.println(i == j); //==和对象比较 比较的是内存地址

        //自动装箱
        /*
        This method will always cache values in the range -128 to 127,
        public static Integer valueOf(int i) {
            if (i >= IntegerCache.low && i <= IntegerCache.high)
                return IntegerCache.cache[i + (-IntegerCache.low)];
            return new Integer(i);
        }
         */
        //所以这里主要是看范围 -128 to 127 就直接返回，否则，就new Integer(x)
        Integer m = 1; //调用 Integer.valueOf(1);
        Integer n = 1;
        System.out.println(m == n);


        Integer x = 128;
        Integer y = 128;
        System.out.println(x == y);
    }
}
